/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package dio.com.dao;

import dio.com.dao.conexao.AcessoCM;
import dio.com.model.bean.*;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author Diogenes
 */
public class RegistroAtividadesDAO {

    PreparedStatement pstm;
    ResultSet rs;
    private String registrarAtividade = "INSERT INTO `controledeatividades`.`eventos` (`EVENTO`,`usuario_0_IDUSUARIO_0`,`empresa_1_IDEMPRESA_PK_1`,`DEPARTAMENTO_idDEPARTAMENTO`) VALUES(?,?,?,?)";
    private String editarAtividade = "UPDATE `controledeatividades`.`eventos` SET `EVENTO` = ?, `usuario_0_IDUSUARIO_0` = ?, WHERE idEVENTOS = ?";
    private String excluirAtividade = "DELETE FROM `controledeatividades`.`eventos` WHERE idEVENTOS = ?";
    private String carregarAtividades = "SELECT * FROM controledeatividades.eventos WHERE empresa_1_IDEMPRESA_PK_1 = ?";


    public void registrarAtividade(Evento evento){
        AcessoCM mysql = new AcessoCM();
        try {
            pstm = mysql.conectar().prepareStatement(registrarAtividade);
            pstm.setString(1, evento.getEvento());
            pstm.setInt(2, evento.getUsuario().getId());
            pstm.setInt(3, evento.getEmpresa().getId());
            pstm.executeUpdate();
            mysql.commit();
            mysql.desconectar();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    
    public void editarAtividade(Evento evento) {
        AcessoCM mysql = new AcessoCM();
        try {
            pstm = mysql.conectar().prepareStatement(editarAtividade);
            pstm.setString(1, evento.getEvento());
            pstm.setInt(2, evento.getUsuario().getId());
            pstm.setInt(3, evento.getId());
            pstm.executeUpdate();
            mysql.commit();
            mysql.desconectar();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    
    public void excluirAtividade(Evento evento) {
        AcessoCM mysql = new AcessoCM();
        try {
            pstm = mysql.conectar().prepareStatement(excluirAtividade);
            pstm.setInt(1, evento.getId());
            pstm.executeUpdate();
            mysql.commit();
            mysql.desconectar();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    
    public List<Evento> carregarEventos(Empresa empresa) {
        List<Evento> eventos = new ArrayList<Evento>();
        try {
            AcessoCM mysql = new AcessoCM();
            pstm = mysql.conectar().prepareStatement(carregarAtividades);
//            pstm.setInt(1, evento.getImposto().getId());
            pstm.setInt(1, empresa.getId());
            rs = pstm.executeQuery();
            while (rs.next()) {
                Evento evento = new Evento();
                evento.setId(rs.getInt("idEVENTOS"));
                evento.setDepartamento(rs.getInt("DEPARTAMENTO_idDEPARTAMENTO"));
                evento.setEvento(rs.getString("EVENTO"));
                Usuario u = new Usuario();
                u.setId(rs.getInt("usuario_0_IDUSUARIO_0"));
                evento.setUsuario(u);
                eventos.add(evento);
            }
            mysql.desconectar();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return eventos;
    }
}
